import requests
import time
#aria2地址
ariaurl="http://www.cdleixin.club:6800/jsonrpc"
#需下载文件的真实
dlurl="http://mpge.5nd.com/2018/2018-6-8/85687/1.mp3"  
#落地的文件名，
fn="大千世界.mp3"
#本地目录   
dn="/mnt/3disk"  
#最大并发数    
maxdowns=3    
#jsondata  rpc调用的数据头（固定部分）
jsondata={
    "jsonrpc":"2.0",
    "id":"QXJpYU5nXzE1NDgzODg5MzhfMC4xMTYyODI2OTExMzMxMzczOA==",
    }
#url  是下载文件的链接，fanme和fdir分别为本地文件名和目录
def  ariadown(url,fname,fdir):          
    reqdata=jsondata
    #aria  取当前并发数的的方法
    reqdata["method"] = "aria2.tellActive"             
    reqdata['params'] = ["token:leixin991426"]
    ret = requests.post(ariaurl, json=reqdata)
    
    curdowns=len(ret.json()["result"])
    while curdowns >= maxdowns:
        print("Waitting for links...")
        time.sleep('2')                  #等不到就睡一觉
        ret = requests.post(ariaurl, json=reqdata)
        curdowns=len(ret.json()["result"])
    #aria  增加下载的方法
    reqdata["method"] = "aria2.addUri"            
    reqdata['params'] = ["token:leixin991426",[],{}]
    reqdata['params'][1] = [url]
    reqdata['params'][2] = {"out" : fname,"dir" : fdir}
    ret = requests.post(ariaurl, json=reqdata)
    return(ret.status_code)
#下载的调用
ret = ariadown(dlurl,fn,dn)
#是不是200？                      
print(ret)                       